home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / b / b.lha / B / src / bint / b2syn.h < prev    next >
C/C++ Source or Header  |  1988-11-24  |  2KB  |  133 lines

  1. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  2.  
  3. /*
  4.   $Header: b2syn.h,v 1.4 85/08/22 16:43:04 timo Exp $
  5. */
  6.  
  7. /* General parsing routines */
  8.  
  9. #define Eotc '\0'
  10.  
  11. #define Char(tx)    (*(tx))
  12. #define Eol(tx)        (Char(tx) == '\n')
  13. #define Ceol(tx)    (Char(tx) == '\\' || Eol(tx))
  14. #define Text(q)     (tx < q)
  15.  
  16. #define Space(c)    ((c) == ' ' || (c) == '\t')
  17.  
  18. #define Letter(c)    ('a'<=c&&c<='z')
  19. #define Cap(c)        ('A'<=c&&c<='Z')
  20. #define Dig(c)        ('0'<=c&&c<='9')
  21.  
  22. /* Procedure skipsp(); */
  23. /* Procedure upto(); */
  24. /* Procedure need(); */
  25. /* Procedure findceol(); */
  26. /* Procedure req(); */
  27. /* Procedure veli(); */
  28.  
  29. bool keymark();
  30.  
  31. txptr fcol();
  32. bool nothing(); 
  33. bool ateol();
  34. bool findkw(); 
  35. value keyword();
  36. value tag();
  37. bool find();
  38.  
  39. extern txptr tx, ceol, first_col;
  40. extern intlet cur_ilev;
  41. intlet ilev();
  42.  
  43. extern value kwlist;
  44.  
  45. value cr_text();
  46. bool is_keyword();
  47. bool is_tag();
  48. bool findrel();
  49. extern string textsign;
  50.  
  51. bool is_expr();
  52.  
  53. #ifdef NOT_USED
  54. bool colon_sign();
  55. #endif
  56. bool comment_sign();
  57. bool nwl_sign();
  58. bool open_sign();
  59. #ifdef NOT_USED
  60. bool close_sign();
  61. bool comma_sign();
  62. #endif
  63. bool point_sign();
  64. bool apostrophe_sign();
  65. bool quote_sign();
  66. bool conv_sign();
  67. bool curlyopen_sign();
  68. bool curlyclose_sign();
  69. bool sub_sign();
  70. #ifdef NOT_USED
  71. bool bus_sign();
  72. #endif
  73. bool behead_sign();
  74. bool curtl_sign();
  75. bool about_sign();
  76. bool plus_sign();
  77. bool minus_sign();
  78. bool times_sign();
  79. bool over_sign();
  80. bool power_sign();
  81. bool numtor_sign();
  82. bool denomtor_sign();
  83. bool join_sign();
  84. bool reptext_sign();
  85. bool leftadj_sign();
  86. bool center_sign();
  87. bool rightadj_sign();
  88. bool number_sign();
  89. bool less_than_sign();
  90. bool at_most_sign();
  91. bool equals_sign();
  92. bool unequal_sign();
  93. bool at_least_sign();
  94. bool greater_than_sign();
  95.  
  96. bool dyamon_sign();
  97. bool dya_sign();
  98. bool mon_sign();
  99. bool trim_sign();
  100.  
  101. bool check_keyword();
  102. bool choose_keyword();
  103. bool delete_keyword();
  104. bool draw_keyword();
  105. bool insert_keyword();
  106. bool put_keyword();
  107. bool read_keyword();
  108. bool remove_keyword();
  109. bool setrandom_keyword();
  110. bool write_keyword();
  111. bool fail_keyword();
  112. bool quit_keyword();
  113. bool return_keyword();
  114. bool report_keyword();
  115. bool succeed_keyword();
  116. bool if_keyword();
  117. bool select_keyword();
  118. bool while_keyword();
  119. bool for_keyword();
  120. bool else_keyword();
  121. #ifdef NOT_USED
  122. bool and_keyword();
  123. bool or_keyword();
  124. #endif
  125. bool not_keyword();
  126. bool some_keyword();
  127. bool each_keyword();
  128. bool no_keyword();
  129. bool how_to_keyword();
  130. bool yield_keyword();
  131. bool test_keyword();
  132. bool share_keyword();
  133.